const colors = require('colors/safe');
const color = require('colors');

class Log {
    constructor() {}

    msg(text, msg) {
        if (arguments.length==1) {
            // console.log('log-msg: ', text);
        } else {
            color.setTheme({
                custom: ['cyan','italic','bgYellow']
            });
            console.log(colors.custom(`${text}:  ${msg}`));
        }
    }
    damage(text, msg) {
        color.setTheme({
            custom: ['cyan','italic','bgYellow']
        });
        if (arguments.length==1) {
            console.log(colors.custom(`log-damage: , ${text}`));
        } else {
            console.log(colors.custom(`${text}:  ${msg}`));
        }
    }
    ok(msg) {
        color.setTheme({
            custom: ['red','italic','bgYellow']
        });
        console.log(colors.custom(` ${msg} `));
    }

    data(msg) {
        if (msg || msg.length)
            console.log(msg);
        else
            console.log(msg);
    }

    api(msg) {
        console.log(colors.gray(`---- 【${msg}】 ----`));
    }

    sql(msg, myColor='') {
        switch (myColor) {
            case 'zeng':
                color.setTheme({
                    custom: ['yellow', 'underline', 'bgBlack']
                });
                break;
            case 'cha':
                color.setTheme({
                    custom: ['cyan', 'underline', 'bgBlack']
                });
                console.log(colors.custom(` ${msg} `));
                break;
            default:
                color.setTheme({
                    custom: ['white', 'underline', 'bgBlack']
                });
                break;
        }

    }

    err(msg, error='') {
        console.log(colors.red(msg+'--->'), colors.red(error))
        // console.log();
    }

    warn(msg) {
        color.setTheme({
            custom: ['yellow', 'underline', 'bgBlack']
        });
        console.log(colors.custom(` ${msg} `));
    }
}

module.exports = new Log();